Industrial controllers are special purpose computers used for controlling industrial processes and manufacturing equipment. Under the direction of a stored program, the industrial controller examines a series of inputs, reflecting the status of the controlled process, and changes a series of outputs controlling the industrial process. The inputs and outputs may be binary, that is on or off, or analog reading or providing a value within a continuous range.
An industrial controller differs from a conventional computer in two respects. First, unlike a computer, an industrial controller is normally customized to the particular process it is controlling both by writing new control software, stored in the controller's memory, and by changing the hardware configuration of the controller itself. The ability to re-configure the hardware economically is provided by dividing the industrial controller into a number of functional modules each performing a different function. Different combinations of modules may be selectively linked together on a backplane or connected together via one or more communication links. The modules may include, for example, processors, power supplies, communication interfaces and input and output (I/O) modules. Each module generally incorporates a microprocessor and related circuitry and operates according to a local stored program.
An industrial controller also differs from a computer in that the various components of an industrial controller may be separated by a considerable distance over an expanse of a large factory or manufacturing operation. The separated functional modules communicate via digital messages transmitted over the communication links which provide input and output information. Multiple communication links may be joined by "bridges" or "relays" which serve to translate messages from a first link to the format and according to the protocol of the second link.
Precise coordination of actions between separated functional modules of a large industrial controller is difficult. One particularly demanding application is the measurement and control of electrical waveforms at spatially separate points, either for motor control or for the characterization of electrical power. Here, control resolution on the order of a few microseconds is necessary. Yet even with high speed communication links, the time required to arbitrate for control of the communication link for transmission of a coordinating message, and the time required to translate a message between the different communication links that may separate the modules, via one or more bridges, may far exceed this desired precision.